home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 1998 August / PC Plus SuperCD 50a Issue 142 (CD142a) (August 1998).iso / trial / demon / TURNPIKE.1 / CLASSES.ZIP / JAVA / NET / URLStreamHandler.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-04-14  |  2.0 KB  |  102 lines

  1. package java.net;
  2.  
  3. import java.io.IOException;
  4.  
  5. public abstract class URLStreamHandler {
  6.    protected abstract URLConnection openConnection(URL var1) throws IOException;
  7.  
  8.    protected void parseURL(URL var1, String var2, int var3, int var4) {
  9.       String var5 = var1.protocol;
  10.       String var6 = var1.host;
  11.       int var7 = var1.port;
  12.       String var8 = var1.file;
  13.       String var9 = var1.ref;
  14.       if (var3 <= var4 - 2 && var2.charAt(var3) == '/' && var2.charAt(var3 + 1) == '/') {
  15.          var3 += 2;
  16.          int var10 = var2.indexOf(47, var3);
  17.          if (var10 < 0) {
  18.             var10 = var4;
  19.          }
  20.  
  21.          int var11 = var2.indexOf(58, var3);
  22.          var7 = -1;
  23.          if (var11 < var10 && var11 >= 0) {
  24.             try {
  25.                String var12 = var2.substring(var11 + 1, var10);
  26.                var7 = Integer.parseInt(var12, 10);
  27.             } catch (Exception var13) {
  28.             }
  29.  
  30.             if (var11 > var3) {
  31.                var6 = var2.substring(var3, var11);
  32.             }
  33.          } else {
  34.             var6 = var2.substring(var3, var10);
  35.          }
  36.  
  37.          var3 = var10;
  38.          var8 = null;
  39.       } else if (var6 == null) {
  40.          var6 = "";
  41.       }
  42.  
  43.       if (var3 < var4) {
  44.          if (var2.charAt(var3) == '/') {
  45.             var8 = var2.substring(var3, var4);
  46.          } else if (var8 != null) {
  47.             var8 = var8.substring(0, var8.lastIndexOf(47, var8.count - 1)) + "/" + var2.substring(var3, var4);
  48.          } else {
  49.             var8 = var2.substring(var3, var4);
  50.          }
  51.       }
  52.  
  53.       if (var8 == null || var8.count == 0) {
  54.          var8 = "/";
  55.       }
  56.  
  57.       int var16;
  58.       while((var16 = var8.indexOf("/./", 0)) >= 0) {
  59.          StringBuffer var10000 = (new StringBuffer()).append(var8.substring(0, var16));
  60.          int var18 = var16 + 2;
  61.          var8 = var10000.append(var8.substring(var18, var8.count)).toString();
  62.       }
  63.  
  64.       while((var16 = var8.indexOf("/../", 0)) >= 0) {
  65.          if ((var4 = var8.lastIndexOf(47, var16 - 1)) >= 0) {
  66.             StringBuffer var21 = (new StringBuffer()).append(var8.substring(0, var4));
  67.             int var19 = var16 + 3;
  68.             var8 = var21.append(var8.substring(var19, var8.count)).toString();
  69.          } else {
  70.             int var20 = var16 + 3;
  71.             var8 = var8.substring(var20, var8.count);
  72.          }
  73.       }
  74.  
  75.       var1.set(var5, var6, var7, var8, var9);
  76.    }
  77.  
  78.    protected String toExternalForm(URL var1) {
  79.       String var2 = var1.protocol + ":";
  80.       if (var1.host != null) {
  81.          String var3 = var1.host;
  82.          if (var3.count > 0) {
  83.             var2 = var2 + "//" + var1.host;
  84.             if (var1.port != -1) {
  85.                var2 = var2 + ":" + var1.port;
  86.             }
  87.          }
  88.       }
  89.  
  90.       var2 = var2 + var1.file;
  91.       if (var1.ref != null) {
  92.          var2 = var2 + "#" + var1.ref;
  93.       }
  94.  
  95.       return var2;
  96.    }
  97.  
  98.    protected void setURL(URL var1, String var2, String var3, int var4, String var5, String var6) {
  99.       var1.set(var2, var3, var4, var5, var6);
  100.    }
  101. }
  102.